본문으로 건너뛰기

개념적 컴포넌트 중심의 컴포넌트 모델링 기법 및 지원 도구의 설계

· 약 3분
김민정
이우진
담당교수
신규상

논문 정보

  • 제목: Component modeling methodology focused on conceptual component & design of a supporting tool
  • 저자: Min-Jeong Kim, Gyu-Sang Shin, Woo-Jin Lee (ETRI)
  • 학회/저널: 2001년 한국정보처리학회 추계 학술발표논문집 제8권 제2호
  • 발행일: 2001-10-01
  • 주요 연구 내용: 특정 플랫폼에 종속되지 않는 재사용 가능한 개념적 컴포넌트를 정의하고, 이를 EJB 아키텍처 기술로 세분화하여 상세 설계하는 프로세스를 제안한다.
  • 주요 결과 및 결론: 제안된 모델링 기법을 적용하여 컴포넌트 다이어그램과 클래스 다이어그램을 작성할 수 있는 지원 도구(COBALT_GEN v1.0)를 설계 및 개발하였다.
  • 기여점: 구현 기술에 독립적인 개념적 설계를 통해 재사용성과 유지보수성을 높이고, 자동화된 도구를 통해 개발 생산성을 향상시키는 방안을 제시하였다.

요약

초록

소프트웨어의 대형화와 시장 변화에 대응하기 위해 재사용성과 대체 가능성을 강조한 컴포넌트 기술이 요구된다. 본 논문에서는 객체지향 접근 방식을 포함하면서도 컴포넌트의 고유 특성을 반영하는 설계 방식을 다룬다. 특히 플랫폼 독립적인 개념적 컴포넌트 설계 방식과 이를 EJB(Enterprise JavaBeans) 컴포넌트로 상세화하는 모델링 프로세스를 제안하며, 이를 지원하는 자동화 도구의 설계 및 구현에 대해 설명한다.

서론

IT 시장의 급성장으로 소프트웨어 개발 기간 단축과 적시성이 중요해졌다. 기존의 객체지향 방법론만으로는 이러한 요구를 만족시키기 어려워 재사용성과 유지보수성이 뛰어난 컴포넌트 기술이 대안으로 부상했다. 현재 EJB, CCM, DCOM 등 다양한 컴포넌트 기술이 존재하나, 이들은 플랫폼 아키텍처에 종속적인 경향이 있다. 따라서 본 연구는 플랫폼에 의존하지 않는 개념적 컴포넌트를 정의하고, 이를 특정 플랫폼(EJB 등)으로 구체화하는 계층적 모델링 기술과 이를 지원하는 도구를 제안한다.

배경

컴포넌트 기반 소프트웨어 개발 프로세스는 도메인 분석, 컴포넌트 식별, 설계, 구현, 시험 및 전개 과정으로 구성된다. 도메인 분석 단계에서는 마르미-III 등의 방법론을 통해 공통성 및 가변성을 분석하고 Use Case 및 객체 모델을 생성한다. 이후 객체들의 기능적 연관성과 사용 빈도를 고려하여 개념적 컴포넌트를 식별하게 된다. 식별된 컴포넌트는 인터페이스와 의존성을 명확히 하기 위해 다이어그램을 작성하며, 이후 플랫폼 특성(EJB, CCM 등)에 맞춰 내부 설계가 진행된다.

모델 아키텍처 / 방법론

본 논문에서 제안하는 방법론은 크게 개념적 컴포넌트 모델링플랫폼 의존적 컴포넌트 상세설계 두 단계로 나뉜다.

  • 개념적 컴포넌트 모델링:

    • 정의: 하나 이상의 인터페이스를 가지며 독립적으로 기능을 수행할 수 있는 전개(Deployment) 단위로 정의한다. 내부 로직이 변경되어도 인터페이스가 유지되면 전체 시스템에 영향을 주지 않는다.
    • 프로세스: 도메인 분석을 통한 컴포넌트 식별 → 인터페이스 정의 → 사용 객체 정의 → 의존성 파악 및 연결 순으로 진행된다.
    • 핵심 구조: 컴포넌트 다이어그램과 순차도(Sequence Diagram)를 통해 인터페이스와 오퍼레이션을 명세한다.
  • EJB 컴포넌트로의 상세화:

    • 매핑 구조: 개념적 모델링 단계에서 정의된 인터페이스 정보는 상세설계 단계에서 EJB의 Interface Session Bean으로 자동 변환된다. 이는 외부 접근을 담당하는 창구 역할을 한다.
    • 클래스 구성: 기존 클래스 다이어그램 노테이션을 확장하여 EJB 특성에 맞는 클래스(Session Bean, Entity Bean, Helper Class, Extracted DB Entity Bean)들을 추가한다.
    • 효율성: 하나의 컴포넌트가 여러 인터페이스를 가질 경우, 내부 클래스를 공유하도록 설계하여 개발 효율성을 높인다. Figure 4, 5

실험 결과

본 연구에서는 제안한 방법론을 검증하고 지원하기 위해 'COBALT_GEN v1.0'이라는 컴포넌트 모델링 도구를 개발하였다.

  • 도구 구조: 컴포넌트 다이어그램 편집기, 인터페이스 명세 편집기, 클래스 다이어그램 편집기, 순차도 편집기, 모델 관리자(Model Manager)로 구성된다.
  • 주요 기능:
    • 컴포넌트 다이어그램 (Figure 4): 개념적 컴포넌트와 인터페이스, 의존 관계를 시각적으로 모델링한다.
    • 컴포넌트 클래스 다이어그램 (Figure 5): 개념적 모델을 바탕으로 EJB 특성이 반영된 상세 설계를 지원한다. 인터페이스 세션 빈과 엔티티 빈 등의 관계를 표현한다.
    • 코드 생성: SRE(Simultaneous Roundtrip Engineering) 모듈과 연동되어 Java 코드를 자동으로 생성한다.

결론

본 논문은 재사용성을 극대화하기 위해 플랫폼 독립적인 개념적 컴포넌트 설계 단계와 J2EE 플랫폼 기반의 EJB 상세 설계 단계를 분리한 모델링 프로세스를 제안했다. 또한 이 프로세스를 실제 개발에 적용할 수 있도록 CASE 도구(COBALT_GEN)를 설계 및 구현하였다. 향후 연구로는 개발된 도구의 지속적인 검증을 통한 효용성 입증과 컴포넌트 설계를 위한 보다 체계적인 방법론 연구가 필요하다.